Spatialiser des données de températures prédites à l’aide de la Régression Linéaire Multiple en vue d’une comparaison avec d’autres méthodes statistiques (krigeage, réseaux neuronaux…) pour évaluer la meilleure méthode.
Intégrer des variables explicatives et trouver la meilleure combinaison de ces variables fournissant des prédictions avec une RMSE faible.
Préparation de l’environnement de travail
Installation de Linux : Open-source, science reproductible
Utilisation de Docker : Environnement de travail isolé avec configuration différente de l’ordinateur hôte. Assure la reproductibilité du code
Utilisation de GitHub : Service de gestion de versions -> Travail collaboratif
Données d’occupation du sol (CORINE Land Cover)
Sources : Copernicus et Géoportail belge
Stations en zones agricoles mais environnement à caractériser (route en asphalte à proximité ? forêt faisant de l’ombre ?)
47 classes dont 26 présentes en Wallonie -> regroupement en 5 classes : Zones artificielles, Zones de cultures, Zones herbacées, Forêt et Plans d’eau
Récupération des données aux stations : zones tampons (100m autour des stations physiques et 500m pour les stations virtuelles) et calcul de la part de chaque classe dans l’environnement de la station
## sid Agricultural areas Herbaceous vegetation Forest
## 1 vs_1 53.715238 44.050842 0.000000
## 2 vs_10 9.880474 55.039849 33.858245
## 3 vs_100 74.292621 23.349854 1.167155
## 4 vs_1000 0.000000 0.000000 99.995888
## 5 vs_10000 15.540447 3.680151 0.000000
## 6 vs_10001 9.923178 48.652962 5.173979
## Artificials surfaces Water
## 1 0.000000 0
## 2 1.217319 0
## 3 1.186258 0
## 4 0.000000 0
## 5 80.775290 0
## 6 36.245769 0
Part de chaque classe autour de chaque station virtuelle
Récupération des données aux stations virtuelles avec buffers
Modèle Numérique de Terrain
Source : SRTM
Caractériser l’effet de la topographie du milieu sur la température
Données d’altitude (résolution 90m) puis calcul de la pente, l’orientation et la rugosité du terrain avec R
Données très volumineuses = Temps de calcul important
Source : API ensoleillement
Caractériser l’impact du rayonnement solaire (W/m²) sur la température
Rayonnement solaire : données EUMETSAT récupérées sur une API
Données horaires, 875 points répartis sur la Wallonie -> insuffisant pour la précision souhaitée d’1 km² (~ 17000 points)
Spatialisation des données solaires à l’aide d’une méthode de krigeage (interpolation linéaire)
Récupération des données d’ensoleillement des stations PAMESEB en parallèle
Source : API AGROMET
Besoin de données pour construire les modèles et comparer les outputs à la réalité
29 stations du réseau PAMESEB
Accès à des données dynamiques horaires : température, humidité relative, humectation du feuillage
27 stations utilisables si on prend l’ensoleillement
Objectif : construire des modèles pour chaque heure
Regroupement des données statiques et dynamiques de chaque station.
Pour optimiser le temps de calcul et l’intégration dans mlr, création d’un “nested data frame” : chaque heure contient un ou plusieurs tableaux de données
Définition : Le Machine Learning est un concept stipulant qu’il existe des algorithmes génériques pouvant nous révéler des informations intéressantes sur des données, sans avoir besoin de construire ou de développer un code spécifique. Au lieu d’écrire du code, vous nourrissez donc ces algorithmes avec des données qui leur permettront de construire leurs propres logiques.
Objectif : Réaliser un benchmark appliquant la Régression Linéaire Multiple à différentes combinaisons de variables explicatives et au paramètre ciblé en utilisant une stratégie de rééchantillonage par validation croisée (LOOCV).
[mlr](
) : package R proposant une interface simplifiée et commune pour toutes les méthodes statistiques à intégrer dans le machine learning.
Paramètres à définir pour la modélisation :
Le paramètre ciblé : Température
Les méthodes statistiques d’apprentissage : Régression linéaire multiple
Les variables explicatives à comparer : MNT, occupation du sol, ensoleillement
La méthode de rééchantillonage : validation croisée par Leave-One-Out
Graphiques des résultats du benchmark
Equation de régression des modèles et leurs coefficients
Cartes : Statiques ou interactives (leaflet) & Visualisation des prédictions pour une heure donnée mais aussi de l’erreur relative
Création d’une couche contenant les prédictions, visualisée avec une palette de couleur
Création d’une couche contenant l’erreur associée à chaque prédiction avec un niveau de transparence variable (couche blanche avec opacité plus importante si l’erreur est élevée)
Output pour une heure après modélisation (benchmark réalisé sur 2 mois)
Output avec pour combinaison de variables ensoleillement + meilleure variable explicative (corrélation linéaire), erreur en niveaux de transparence
(inspiré par Visual Representations of Data Uncertainty et Transparency and Alpha levels for ggplot2)
Comparaison des modèles construits à partir de l’altitude et/ou de l’ensoleillement
La démarche est définie et prête pour créer les modèles.
Prochains objectifs :
Créer les modèles à partir de 5 ans de données
Identifier la meilleure combinaison de variables explicatives
Appliquer cette combinaison à la grille d’interpolation
Créer une Shiny app pour la visualisation des données